<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
    <title>Multiprocess Applications</title>
    <link rel="stylesheet" href="gettingStarted.css" type="text/css" />
    <meta name="generator" content="DocBook XSL Stylesheets V1.73.2" />
    <link rel="start" href="index.html" title="Getting Started with Berkeley DB Java Edition" />
    <link rel="up" href="concurrentProcessing.html" title="Appendix A. Concurrent Processing in Berkeley DB Java Edition" />
    <link rel="prev" href="concurrentProcessing.html" title="Appendix A. Concurrent Processing in Berkeley DB Java Edition" />
  </head>
  <body>
    <div class="navheader">
      <table width="100%" summary="Navigation header">
        <tr>
          <th colspan="3" align="center">Multiprocess Applications</th>
        </tr>
        <tr>
          <td width="20%" align="left"><a accesskey="p" href="concurrentProcessing.html">Prev</a> </td>
          <th width="60%" align="center">Appendix A. Concurrent Processing in Berkeley DB Java Edition</th>
          <td width="20%" align="right"> </td>
        </tr>
      </table>
      <hr />
    </div>
    <div class="sect1" lang="en" xml:lang="en">
      <div class="titlepage">
        <div>
          <div>
            <h2 class="title" style="clear: both"><a id="multiprocess"></a>Multiprocess Applications</h2>
          </div>
        </div>
      </div>
      <p>
            Note the following if you are writing an application that wants to access JE databases from multiple
            processes:
        </p>
      <div class="itemizedlist">
        <ul type="disc">
          <li>
            <p>
                In JE, you must use environments. Further, a database can be opened for write access only if the
                environment is opened for write access. Finally, only one process may have an environment opened for
                write access at a time.
            </p>
          </li>
          <li>
            <p>
                If your process attempts to open an environment for write, and another process has already opened that
                environment for write, then the open will fail. In this event, the process must either exit or open the
                environment as read-only.
            </p>
          </li>
          <li>
            <p>
                A process that opens an environment for read-only receives a snapshot of the data in that environment.
                If another process modifies the environment's databases in any way, the read-only version of the data
                will not be updated until the read-only process closes and reopens the environment (and by extension all
                databases in that environment).
            </p>
          </li>
        </ul>
      </div>
    </div>
    <div class="navfooter">
      <hr />
      <table width="100%" summary="Navigation footer">
        <tr>
          <td width="40%" align="left"><a accesskey="p" href="concurrentProcessing.html">Prev</a> </td>
          <td width="20%" align="center">
            <a accesskey="u" href="concurrentProcessing.html">Up</a>
          </td>
          <td width="40%" align="right"> </td>
        </tr>
        <tr>
          <td width="40%" align="left" valign="top">Appendix A. Concurrent Processing in Berkeley DB Java Edition </td>
          <td width="20%" align="center">
            <a accesskey="h" href="index.html">Home</a>
          </td>
          <td width="40%" align="right" valign="top"> </td>
        </tr>
      </table>
    </div>
  </body>
</html>
